public class Controller_Charlie extends Controller
{ 
    int spielerAnDerReihe;
    int wuerfelErgebnis;

    public Controller_Charlie(){
        super ();
        spielerAnDerReihe = 1;
        wuerfelErgebnis = 0;
    }
    

    public void feldGedrueckt(int feldnr){
        System.out.println("Controll empf. " + feldnr);
        int figurnr = model.figurAufFeld(feldnr);

        view.kommentarAnzeigen("" + wuerfelErgebnis);

        //wenn auf dem Feld eine Figur von einem selbst steht
        if (model.feldBelegt(feldnr) == spielerAnDerReihe){
            if (wuerfelErgebnis == 6 && istImHaus(figurnr))
            //             if (wuerfelErgebnis == 6 && model.feldGeben(figurnr) == -10 || model.feldGeben(figurnr) == -20 || model.feldGeben(figurnr) == -30 || model.feldGeben(figurnr) == -40)

            {
                
                if (model.gehoertSpieler(model.figurAufFeld(0))==1 && spielerAnDerReihe == 1) 
                {
                    view.kommentarAnzeigen("Zug nicht möglich!"+"Spieler "+spielerAnDerReihe+" an der Reihe!");
                    return;
                }
                if (model.gehoertSpieler(model.figurAufFeld(10))==2 && spielerAnDerReihe == 2) 
                {
                    view.kommentarAnzeigen("Zug nicht möglich!"+"Spieler "+spielerAnDerReihe+" an der Reihe!");
                    return;
                }
                if (model.gehoertSpieler(model.figurAufFeld(30))==3 && spielerAnDerReihe == 3) 
                {
                    view.kommentarAnzeigen("Zug nicht möglich!"+"Spieler "+spielerAnDerReihe+" an der Reihe!");
                    return;
                }
                if (model.gehoertSpieler(model.figurAufFeld(40))==4 && spielerAnDerReihe == 4) 
                {
                    view.kommentarAnzeigen("Zug nicht möglich!"+"Spieler "+spielerAnDerReihe+" an der Reihe!");
                    return;
                }
                model.ausHausRaus(figurnr);
                //spielerAnDerReihe = 1;
                //wuerfelErgebnis = 0;
                view.kommentarAnzeigen("Spieler "+spielerAnDerReihe+" an der Reihe!");
            }
            else{
                // if (wuerfelErgebnis != 6 && istImHaus(figurnr, spielerAnDerReihe))
                // {
                //     view.kommentarAnzeigen("Zug nicht möglich. Andere Figur wählen oder nochmal würfeln!");

                // }
                //
                //else
                {
                    if (wuerfelErgebnis == 6)
                    {
                        if (model.figurLaeuft(figurnr, wuerfelErgebnis)== true){
                            //spielerAnDerReihe = 1;
                            //wuerfelErgebnis = 0;
                            view.kommentarAnzeigen("Spieler " +spielerAnDerReihe +" an der Reihe!");
                        }
                    }
                    //wenn keine 6
                    else{
                        if (istImHaus(figurnr)==true)
                        {
                            view.kommentarAnzeigen("Zug nicht möglich."+"Spieler "+spielerAnDerReihe+" an der Reihe!");
                            return;
                        }

                        if(model.figurLaeuft(figurnr, wuerfelErgebnis)==true){
                            spielerAnDerReihe = (spielerAnDerReihe +1);
                            if (spielerAnDerReihe == 5){
                                spielerAnDerReihe =1;
                            }
                            //wuerfelErgebnis = 0;
                            view.kommentarAnzeigen("Spieler "+spielerAnDerReihe +" an der Reihe!");
                        }

                    }
                }
            }

        }

    }

    boolean istImHaus(int figurnr){ 
        if (model.feldGeben(figurnr)<0) return true;
        return false;
        //if (spieler ==1 && (figurnr ==0 || figurnr ==1 || figurnr ==2 || figurnr ==3)) return true;
        //else if (spieler ==2 && (figurnr ==4 || figurnr ==5 || figurnr ==6 || figurnr ==7)) return true;
        //else if (spieler ==3 && (figurnr ==8 || figurnr ==9 || figurnr ==10 || figurnr ==11)) return true;
        //else if (spieler ==4 && (figurnr ==12 || figurnr ==13 || figurnr ==14 || figurnr ==15)) return true;

    }

    public void wuerfeln(){
        wuerfelErgebnis = (int) (Math.random()*6 + 1);
        view.wurfAnzeigen("" + wuerfelErgebnis);
    }
    
    public int spielerGeben()
    {
        return spielerAnDerReihe;
    }
}

